Dart Analyzer AnalysisDriver
读取和分析 Dart 文件的内容,计算分析结果。进行 Dart 静态分析的驱动者,负责处理分析请求,将其传给 AnalysisContext 进行实际分析。
类属性
属性 | 类型 | 作用 |
---|---|---|
DATA_VERSION |
静态常量,表示数据格式的版本。每次数据格式发生变化时,都应该增加这个值。 | |
allowedNumberOfContextsToWrite |
允许写入的异常上下文的数量 | |
_scheduler |
AnalysisDriverScheduler | 调度分析工作的调度器。 |
_logger |
PerformanceLog | 性能记录。 |
_resourceProvider |
ResourceProvider | 处理文件相关操作 |
_byteStore |
ByteStore | 获取和存储序列化的数据。 |
_infoDeclarationStore |
InfoDeclarationStore | 缓存从 SummaryDataReader 读取的反序列化数据。 |
_externalSummaries |
SummaryDataStore? | 存储外部提供的未链接和相应的链接摘要。 |
_fileContentCache |
FileContentCache | 从文件读取内容之前,会先查询这个缓存。 |
_unlinkedUnitStore |
UnlinkedUnitStore | 已经加载的未链接单元会在此存储。 |
_fileContentStrategy |
StoredFileContentStrategy | 处理文件内容的策略。 |
_analysisOptions |
AnalysisOptionsImpl | 用于指定分析选项。 |
_packages |
Packages | 包和它们的语言版本。 |
_sourceFactory |
SourceFactory | 用于解析 URI 到路径,以及从文件路径恢复 URI。 |
macroSupport |
MacroSupport | 用于执行宏。 |
ownedFiles |
OwnedFiles | 与同一集合中的其他驱动程序共享,所有驱动程序都在其中记录文件所有权。 |
declaredVariables |
DeclaredVariables | 表示声明的环境变量。 |
analysisContext |
DriverBasedAnalysisContext | 创建此驱动程序/会话的分析上下文。 |
_saltForUnlinked _saltForElements _saltForResolution |
Uint32List | 用于混入所有用作未链接数据、元素和链接数据键的哈希中。 |
_priorityFiles |
Set<String> |
表示应优先分析的文件集。 |
_pendingFileChanges |
_FileChange |
在处理请求之前应用的文件更改。 |
_accumulatedAffected |
Set<String> |
当 _applyFileChangesSynchronously 为 true 时,受影响的文件会在此累积。 |
_pendingFileChangesCompleters |
Completer<List<String>> |
用于在应用 _pendingFileChanges 后完成。 |
_requestedFiles |
映射 | 键是使用 getResult 请求分析的文件, 值是用于报告结果的 Completer 列表。 |
_requestedLibraries |
映射 | 键是使用 getResolvedLibrary 请求分析的库文件类型, 值是用于报告结果的 Completer 列表。 |
_resolveForCompletionRequests |
_ResolveForCompletionRequest 列表 |
表示完成请求的队列。 |
_discoverAvailableFilesTask |
_DiscoverAvailableFilesTask? | 表示发现可用文件的任务。如果此字段不为 null,并且任务未完成,则应在任何名称搜索任务之前执行并完成此任务。 |
| _FilesDefiningClassMemberNameTask | 用于计算定义类成员名称的文件的任务。 | |
_referencingNameTasks | _FilesReferencingNameTask | 用于计算引用名称的文件的任务。 |
_errorsRequestedFiles | 映射 | 键是使用 getErrors 请求错误的文件, 值是用于报告结果的 Completer 列表。 |
_indexRequestedFiles | 映射 | 键是使用 getIndex 请求索引的文件, 值是用于报告结果的 Completer 列表。 |
_unitElementRequestedFiles | 映射 | 键是使用 getUnitElement 请求单元元素的文件, 值是用于报告结果的 Completer 列表。 |
_disposeRequests | Completer<void> 列表 |
表示处置请求,通常为空。我们期望最多添加一个,即在生命周期的最后。 |
_resultController | StreamController<Object> |
用于控制 results 流。 |
_onResults | Stream<Object> |
当产生分析结果时,将写入此流。 |
_lastProducedSignatures | 映射 | 键是文件名, 值是最近生成的结果的解析签名。 |
_priorityResults | 映射 | 键是文件名, 值是 _priorityFiles 的缓存结果。 |
_resolvedLibraryCache | 映射 | 键是库文件类型, 值是 getResolvedLibrary 的缓存结果。 |
_exceptionController | StreamController<ExceptionResult> |
用于控制 exceptions 流。 |
_search | Search | 用于帮助搜索。 |
testView | AnalysisDriverTestView? | 用于测试视图。 |
featureSetProvider | FeatureSetProvider | 用于提供特性集。 |
_fsState | FileSystemState | 表示文件系统状态。 |
_fileTracker | FileTracker | 用于跟踪文件。 |
enableIndex | bool | 表示是否应该索引解析的单元。 |
_libraryContext | LibraryContext? | 表示应该在哪个上下文中分析库。 |
_hasDartCoreDiscovered | bool | 是否已经递归地发现了 dart:core。 |
_hasLibrariesDiscovered | bool | 表示是否已经发现了库。 当添加新文件时,此标志会被重置为 false,因为新文件可能是一个库,所以现在可以分析一些之前被断开的部分。 |
testingData | TestingData? | 如果正在保留测试数据,则指向保留测试数据的对象。否则为 null。 |
_disposed | bool |
本文作者:Maeiee
本文链接:Dart Analyzer AnalysisDriver
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!